type AppendArgument<Fn extends (...args:any[])=>any, A> = Fn extends (...args: infer P)=>unknown?(...args:[...P,A])=>ReturnType<Fn>:Fn
